<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    .box {
      border: 3px solid #000000;
      border-radius: 10px;
      padding: 20px;
      margin: 20px;
      width: 200px;
    }
    h3 {
      margin: 10px 0 20px 0;
    }
    p {
      margin: 20px;
    }
  </style>
</head>

<body>
    <div id="app">
        <div class="box">
            <h3>{{title}}</h3>
            <button @click="fn">{{isShow ? '关机' : '开机'}}</button>
            <div v-show="isShow">
                <button @click="buy(5)">可乐5元</button>
                <button @click="buy(10)">咖啡10元</button>
                <button @click="buy(8)">牛奶8元</button>
            </div>
            <p>当前共计: {{money}} 元</p>
        </div>
    </div>

    <script src="./node_modules/vue/dist/vue.js"></script>
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                title:'小黑自动售货机',
                isShow: true,
                money: 0
            },
            methods: {
                fn() {
                    /**
                     * 1. 获取当前isShow的值
                     * 2. 反转isShow的值
                     * 让提供的所有methods中的函数, this都指向当前实例
                     * this: 当前实例对象
                     */
                    this.isShow = !this.isShow
                },
                buy(price){
                    this.money += price
                }
            }
        })
    </script>
</body>

</html>